package com.bh.wms.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.bh.common.annotation.Excel;
import com.bh.common.core.domain.BhtmsBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * 货位信息
 *
 * @author GPT
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("wms_warehouse_location")
@ApiModel(value = "货位信息", description = "仓库货位信息")
public class WmsWarehouseLocation extends BhtmsBaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("所属仓库ID")
    @Excel(name = "仓库ID")
    private Long warehouseId;

    @ApiModelProperty("所属库区ID")
    @Excel(name = "库区ID")
    private Long zoneId;

    @ApiModelProperty("货位编码")
    @Excel(name = "货位编码")
    private String code;

    @ApiModelProperty("货位名称")
    @Excel(name = "货位名称")
    private String name;

    @ApiModelProperty("货位类型")
    @Excel(name = "货位类型")
    private String locationType;

    @ApiModelProperty("长(cm)")
    @Excel(name = "长(cm)")
    private Double length;

    @ApiModelProperty("宽(cm)")
    @Excel(name = "宽(cm)")
    private Double width;

    @ApiModelProperty("高(cm)")
    @Excel(name = "高(cm)")
    private Double height;

    @ApiModelProperty("最大数量")
    @Excel(name = "最大数量")
    private Integer maxQuantity;

    @ApiModelProperty("最大重量(kg)")
    @Excel(name = "最大重量(kg)")
    private Double maxWeight;

    @ApiModelProperty("最大体积(m³)")
    @Excel(name = "最大体积(m³)")
    private Double maxVolume;

    @ApiModelProperty("允许混放SKU 0-否 1-是")
    @Excel(name = "允许混放SKU")
    private Integer mixSkuFlag;

    @ApiModelProperty("锁定标识 0-否 1-是")
    @Excel(name = "是否锁定")
    private Integer lockedFlag;

    @ApiModelProperty("拣货顺序")
    @Excel(name = "拣货顺序")
    private Integer pickOrder;

    @ApiModelProperty("扩展字段1")
    private String extendOne;

    @ApiModelProperty("扩展字段2")
    private String extendTwo;

    @ApiModelProperty("扩展字段3")
    private String extendThree;
}

